2100
Can bars have a grey backcolor and black border color for a summary-bar (EBN)

OBJECT appearance,bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectSetProperty( appearance , "RenderType", -2);
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABN0GACAADACAxRDAMgBQKAAzQFAYahuGSGAAGMYxQgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQyDAAUIjOKsIhkGYcZAGQBJCjWGodQLOEgwH" +
	"IERQjEyUJAGGQIHhyPYbUbGUpQHKkeRtGqgBgoKhKEouNYgAbGYIwTRsdyfDSXBpEWwbDgkNQwWTDNoRDIUQStCysaYjOpnfrUAJ1P7FdQ1NJkXRhGSSK7maapaiCSZ6" +
	"STCMj1FhVKSNJ7DQKhGpgKh/ApgYpQOK4fLNXyRBK4QAyKA6bgPFZOZbFViaXY1V5bNKrcjhHQwAyHJ4XXRdV4YRAkUT4GqiJKGSYcQhuXZWbRqO6ABhef6DRThc6jKp" +
	"FHIE4llEcojHqSZNgoIxnlgd5thsLREleL43gsYZ9BkaAYkMAgAm+CxGDWWAtiKCRfjcdRgHoHYnicUwgAIEIREAaQYkcQZUHIGRUDQJBOEYRAhDYCxGgMZAkCgdYQha" +
	"XQIAYERwQuahXggdgeG6VZ4H4IhdiIGIOB8YIiGiHZZgqYpGF4KYHiKCI+CAU5jCiTQ2g0YhEFyax4gABAEIC");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABU0IQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRhGcTAJBMIhiGQYAChEZxVhEMgzDjIAxSJAcQRFESaAABGCQG" +
	"h+N4/S4NIi0CIsZQjCaiZ7pKA5bgMCo+UrNMixZQVCSOGChYRpCaZWpGGodQRUFbVHAlKypJKCKrEWSrDhuYAAW7XM7yBS1TzVNSuLZtaLqSroAJ1WTWMB0Ra8NzZEKf" +
	"aZACj4arKejrRDCMAggI=");
	_ObjectCallMethod( appearance , "Add", 3,"gBFLBCJwBAEHhEJAAEhABN8GACAADACAxRDgMQBQKAAzQFAcDBvBgABiHEZoJhUAIIRZGMIjFDcEwxDSMY7jcYAFgkNQwCUtcBIJDEMIoAJLIwyBKkNQ5AabYrmWJpM" +
	"gOEAyDSJM70DCEThLD4aZJnOa5ZjmH5LRBQdBRXQMYwIGCiZQpeKqbgMBoJApCIJxdBNLAAf60LLtGJaSpKZouViJNjSBD4HQTL6BQwsKxIDqaaD/WpgFuLTjiRImShc" +
	"MQXJYFbwTOyBbDjG7rJr+FptYRbdYYRQ8dy7Cywa6pOa8YwacotZrAdDXHTmHw1PTRNDmTRYRwfKqJZxieqwHoMLYgAC8Ni3OaoDAiCRQGiYZyHKaRSwPBInIYIIjeRg" +
	"zBSAYKCEOySEodZbjybo0HefwfhMLQDnKeg9D6LwsCeV5unYQJYH8Lxvj+a5jgSfIYH8T43hOcZ5H+X4nh2fB6F+aABnOAIfFgFgGgGH43nICoCl+eA1n0fBhAgVZ5gS" +
	"HoID4FoDCCCBqBuBYUjgfgigGURYg4JoJmKCBFBaChikiNgVEYYpokYMoMCMKJWCkcIjgiZg6E0Do3gUASAg=");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectSetProperty( bar , "Color", 16777216);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectSetProperty( bar , "Color", 33554432);
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Summary","SummaryN");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectSetProperty( bar , "Color", 50331648);
items = _ObjectGetProperty( g2antt , "Items");
	hSummaryJ = _ObjectCallMethod( items , "AddItem", "Summary A");
	_ObjectCallMethod( items , "AddBar", hSummaryJ,"Summary","1/2/2001","1/2/2001","J");
	hTaskJ = _ObjectCallMethod( items , "InsertItem", hSummaryJ,"","Task A.1");
	_ObjectCallMethod( items , "AddBar", hTaskJ,"Task","1/2/2001","1/5/2001","J1");
	hTaskJ = _ObjectCallMethod( items , "InsertItem", hSummaryJ,"","Task A.2");
	_ObjectCallMethod( items , "AddBar", hTaskJ,"Task","1/4/2001","1/8/2001","J2");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummaryJ,"J",-1,"<*>");
	hSummaryK = _ObjectCallMethod( items , "AddItem", "Summary B");
	_ObjectCallMethod( items , "AddBar", hSummaryK,"Summary","1/2/2001","1/2/2001","K");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryK,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/2/2001","1/5/2001","K1");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryK,"","Task B.2");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/4/2001","1/8/2001","K2");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummaryK,"K",-1,"<*>");
	hSummaryN = _ObjectCallMethod( items , "AddItem", "Summary C");
	_ObjectCallMethod( items , "AddBar", hSummaryN,"SummaryN","1/2/2001","1/2/2001","SN");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryN,"","Task B.1");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/2/2001","1/5/2001","N1");
	hTaskK = _ObjectCallMethod( items , "InsertItem", hSummaryN,"","Task B.2");
	_ObjectCallMethod( items , "AddBar", hTaskK,"Task","1/4/2001","1/8/2001","N2");
	_ObjectCallMethod( items , "DefineSummaryBars", hSummaryN,"SN",-1,"<*>");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<K*>`,33) = 255");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<N*>`,33) = 8421504");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

2099
How can I display UNICODE characters

OBJECT g2antt,items,stdfont;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
stdfont = _ObjectGetProperty( g2antt , "Font");
	_ObjectSetProperty( stdfont , "Name", "Arial Unicode");
	_ObjectSetProperty( stdfont , "Size", 22);
_ObjectSetProperty( g2antt , "HeaderVisible", 0);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 48);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(``).Def(17) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Ӓӓ");
	_ObjectCallMethod( items , "AddItem", "ᦜᦝ;ᦞ");
	_ObjectCallMethod( items , "AddItem", "ɮɭ;ɯ");
	_ObjectCallMethod( items , "AddItem", "勳勴勵勶");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(AddItem(Me.Version),0) = `(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` `");
_ObjectCallMethod( g2antt , "EndUpdate");

2098
How can I display 12-hour time (method 2)

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).Label = 4096");
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Unit", 65536);
		_ObjectSetProperty( level , "FormatLabel", "(0 := hour(dvalue)) < 12 ? ( `<fgcolor=808080>` + ( =:0 = 0 ? 12 : =:0 ) + `</fgcolor>` ) : (=:0 - 12)");
_ObjectCallMethod( g2antt , "EndUpdate");

2097
How can I display 12-hour time (method 1)

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).Label = 4096");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).Label = `<%h12%>`");
_ObjectCallMethod( g2antt , "EndUpdate");

2096
How do I scale to hours

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).Label = 4096");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).Label = 65536");
_ObjectCallMethod( g2antt , "EndUpdate");

2095
How do I display the position of the item with 0-padding

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items") , "FormatColumn", "((1 apos ``) lpad `00`) + `. `  + value");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
	_ObjectCallMethod( items , "AddItem", "Item D");
_ObjectCallMethod( g2antt , "EndUpdate");

2094
Can I format the label in row 3 below to show day numbers, only for Mondays each week (sample 2)

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/31/2009");
	_ObjectSetProperty( chart , "LevelCount", 3);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Label", "<%mmmm%> <%yyyy%>");
		_ObjectSetProperty( level , "Alignment", 1);
		_ObjectSetProperty( level , "Unit", 16);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Unit", 256);
		_ObjectSetProperty( level , "Label", "Week <%ww%>");
		_ObjectSetProperty( level , "Alignment", 1);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(2)");
		_ObjectSetProperty( level , "Unit", 4096);
		_ObjectSetProperty( level , "FormatLabel", "weekday(dvalue) = 1 ? day(dvalue): ''");
	_ObjectSetProperty( chart , "UnitWidth", 23);

2093
Can I format the label in row 3 below to show day numbers, only for Mondays each week (sample 1)

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/31/2009");
	_ObjectSetProperty( chart , "LevelCount", 3);
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Label", "<%mmmm%> <%yyyy%>");
		_ObjectSetProperty( level , "Alignment", 1);
		_ObjectSetProperty( level , "Unit", 16);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Unit", 256);
		_ObjectSetProperty( level , "Label", "Week <%ww%>");
		_ObjectSetProperty( level , "Alignment", 1);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(2)");
		_ObjectSetProperty( level , "Unit", 4096);
		_ObjectSetProperty( level , "FormatLabel", "weekday(dvalue) = 1 ? value : ''");
	_ObjectSetProperty( chart , "UnitWidth", 23);

2092
How can I change the caption for all bars

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/1/2017");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task%Progress");
		_ObjectSetProperty( bar , "Shortcut", "Task");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(14) = True");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","8/2/2017","8/6/2017");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","8/3/2017","8/9/2017");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 3"),"Task","8/4/2017","8/13/2017");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 4"),"Task","8/5/2017","8/16/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,14) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,3) = `<%= %C0 replace `Task` with `Task<off 4><b>` %>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,4) = 18");
_ObjectCallMethod( g2antt , "EndUpdate");

2091
Can't get the +/- to be displayed on a divider item. What else can I do

OBJECT columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "TreeColumnIndex", 0);
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "FullRowSelect", 0);
_ObjectSetProperty( g2antt , "HeaderAppearance", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C1") , "Width", 32);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C2") , "FormatColumn", "1 index ``");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Cell 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(h,1) = False");
	h = _ObjectCallMethod( items , "AddItem", "This is bit of text merges all cells in the item (divider shows no +/-)");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(h) = 15790320");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLine(h) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Cell 3");
	h = _ObjectCallMethod( items , "AddItem", "This is bit of text merges all cells in the item (merge shows +/-)");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(h) = 15790320");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellMerge(h,0) = 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

2090
How can I display one or more columns on the same bar

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddGroupItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLine(Item) = 0");
		_ObjectCallMethod( items , "AddBar", Item,"Summary","12/2/2017","12/2/2017");
		_ObjectCallMethod( items , "DefineSummaryBars", Item,"",-3,"");
		l = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.GroupItem(Item)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item,l")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "TemplatePut", l)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(Item,l) = False");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellBold(Item,l) = True");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(Item) = 12500670");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.ItemBackColor(Item) = 12500670");
END

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/10/2017");
END

OBJECT bar,chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV" +
	"IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" +
	"NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" +
	"BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +
	"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectSetProperty( bar , "StartShape", 0);
		_ObjectSetProperty( bar , "EndShape", 0);
		_ObjectSetProperty( bar , "Shape", 1);
		_ObjectSetProperty( bar , "Color", 16777216);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=%513%>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "Pattern", 32);
		_ObjectSetProperty( bar , "Color", 10790052);
		_ObjectSetProperty( bar , "StartColor", 15790320);
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "StartColor"));
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%= `<font ;6><fgcolor=0000FF><i>` + %C0 + ` ` + %C1 + ` ` + %C2 %>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 13");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "C1");
	_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( columns , "Add", "C2") , "Editor") , "EditType", 1);
	_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( columns , "Add", "C3") , "Editor") , "EditType", 1);
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "FormatColumn", "1 pos ``");
		_ObjectSetProperty( column , "AllowGroupBy", 0);
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 48);
		_ObjectSetProperty( column , "AllowSizing", 0);
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
_ObjectSetProperty( g2antt , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
_ObjectSetProperty( g2antt , "HasLines", 0);
_ObjectSetProperty( g2antt , "LinesAtRoot", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.3`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.4`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.5`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.6`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.7`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.8`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.3`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.4`");
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "SortOrder", 1);
_ObjectCallMethod( g2antt , "EndUpdate");

2089
How can I associate a box/note to a date into the control's header

OBJECT chart,g2antt,items,note,notes;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "HeaderHeight", 17);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectItem(AddItem(`Item 2`)) = True");
	_ObjectCallMethod( items , "AddItem", "Item 3");
notes = _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Notes");
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
		hLocked = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItem(0,0)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hLocked")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", hLocked)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(hLocked) = 1");
	note = _ObjectCallMethod( notes , "Add", "header",hLocked,"1/7/2001","Date:<br><%dd%>/<%mm%><br><b><%yyyy%></b>");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim notObj")
		_ObjectCallMethod(g2antt, "TemplatePut", note)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartVisible(0) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartText(0) = `<b><%d%></b>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartCanMove(1) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartCanMove(0) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartVOffset(0) = -9");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartVOffset(1) = 20");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartHOffset(1) = 20");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartBackColor(0) = 65535");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "notObj.PartFixedWidth(0) = 18");
_ObjectCallMethod( g2antt , "EndUpdate");

2088
How can I define a column of button type

// ButtonClick event - Occurs when user clicks on the cell's button.
FUNCTION g2anttEvents_ButtonClick(OBJECT g2antt, INT Item, INT ColIndex, VARIANT Key)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,ColIndex,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", ColIndex)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,ColIndex)") );
END

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Button");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(2) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(3) = False");
	_ObjectSetProperty( column , "FormatColumn", "``");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 48);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Second") , "FormatColumn", "` Item ` + 1 index ``");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Button 1");
	_ObjectCallMethod( items , "AddItem", "Button 2");
	_ObjectCallMethod( items , "AddItem", "Button 3 ");
_ObjectCallMethod( g2antt , "EndUpdate");

2087
Is it possible to configure different colour/icon when there is a active filter

// FilterChange event - Occurs when the filter was changed.
FUNCTION g2anttEvents_FilterChange()
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(0) = FormatABC(`value = 0 ? 0x1000001 : 0x10000FF `,Columns.Item(0).FilterType)");
END

OBJECT appearance,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectSetProperty( appearance , "RenderType", -16777216);
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ" +
	"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
	"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA");
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(0) = 16777217");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(32) = -1");
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "BackColorHeader", 16777215);
_ObjectSetProperty( g2antt , "HeaderVisible", 1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Filter");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "AllowDragging", 0);
	_ObjectSetProperty( column , "FilterList", 256);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "Filter", "Item B");
	_ObjectSetProperty( column , "FilterType", 240);
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2086
ADODB Requery sample

// ButtonClick event - Occurs when user clicks on the cell's button.
FUNCTION g2anttEvents_ButtonClick(OBJECT g2antt, INT Item, INT ColIndex, VARIANT Key)
	OBJECT cmd;
	cmd = CreateObject("ADODB.Command");
		_ObjectSetProperty( cmd , "ActiveConnection", _ObjectGetProperty( _ObjectGetProperty( g2antt , "DataSource") , "ActiveConnection"));
		_ObjectSetProperty( cmd , "CommandText", "INSERT INTO Orders (EmployeeID) VALUES(12345)");
		_ObjectSetProperty( cmd , "CommandType", 1);
		_ObjectCallMethod( cmd , "Execute", );
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "DataSource") , "Requery", );
END

// Error event - Fired when an internal error occurs.
FUNCTION g2anttEvents_Error(OBJECT g2antt, INT Error, STRING Description)
	Message( Description );
END

OBJECT g2antt,items,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
rs = CreateObject("ADODB.Recordset");
	_ObjectCallMethod( rs , "Open", "Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",1,3);
_ObjectSetProperty( g2antt , "DataSource", rs);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "%1=12345") , "BackColor", 15790320);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
	h = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItem(0,0)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(h,0) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,0) = `Requery (add a new record, using ADODB.Command)`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

2085
I am skinning the control's header-bar, but the background of the header-bar is shown on each item in the filter-bar drop down panel. What can I do

OBJECT appearance,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH" +
	"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDB" +
	"KTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLx" +
	"PF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFS" +
	"b4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4P" +
	"GSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDya" +
	"ICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tE" +
	"sHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQg" +
	"pDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAA" +
	"MR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH" +
	"4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ=");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzN" +
	"C0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3" +
	"aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DB" +
	"aEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAq" +
	"BYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoe" +
	"EmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA==");
_ObjectSetProperty( g2antt , "BackColorHeader", 16777216);
_ObjectSetProperty( g2antt , "ForeColorHeader", 8421504);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(0) = 33554432");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(26) = 16777215");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(27) = 65536");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(20) = 33521664");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(21) = 15790320");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(32) = -1");
_ObjectSetProperty( g2antt , "HeaderHeight", 24);
_ObjectSetProperty( g2antt , "BackColorLevelHeader", _ObjectGetProperty( g2antt , "BackColor"));
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Filter");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 9504);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(52) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(53) = 2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "A");
	_ObjectCallMethod( items , "AddItem", "B");
	_ObjectCallMethod( items , "AddItem", "C");
	_ObjectCallMethod( items , "AddItem", "D");
_ObjectCallMethod( g2antt , "EndUpdate");

2084
I specify the ItemHeight for each row, but as soon as I click the chart section, the item's height is restored to default (not working). What could be the cause

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Types");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 112");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "OverlaidType", 3);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=%9%>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "ItemMinHeight");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/7/2001","1/10/2001","A1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/12/2001","A2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemMinHeight(h) = 64");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Default (One)"),"Task","1/7/2001","1/10/2001","A3");
	h = _ObjectCallMethod( items , "AddItem", "Default (Two)");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/7/2001","1/10/2001","A4");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/12/2001","A5");
	h = _ObjectCallMethod( items , "AddItem", "ItemFixedHeight");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/7/2001","1/10/2001","A6");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/12/2001","A7");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemMinHeight(h) = 20");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemMaxHeight(h) = 20");
	h = _ObjectCallMethod( items , "AddItem", "ItemMaxHeight");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/7/2001","1/10/2001","A8");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/12/2001","A9");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemMaxHeight(h) = 24");
_ObjectCallMethod( g2antt , "EndUpdate");

2083
The ItemHeight property is not working (method 2)

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column") , "Width", 128);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(AddItem(`This is a bit of text that should break the line`),0) = 0");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectableItem(h) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLineAlignment(h) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(AddItem(`This is a bit of text that should break the line`),0) = 0");
_ObjectCallMethod( g2antt , "EndUpdate");

2082
The ItemHeight property is not working (method 1)

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
	_ObjectSetProperty( column , "Width", 128);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(16) = 0");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "This is a bit of text that should break the line");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectableItem(h) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLineAlignment(h) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemMinHeight(h) = 3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemMaxHeight(h) = 3");
	_ObjectCallMethod( items , "AddItem", "This is a bit of text that should break the line");
_ObjectCallMethod( g2antt , "EndUpdate");

2081
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(26) = `Show/Hide`");
_ObjectSetProperty( g2antt , "ColumnsFloatBarSortOrder", 1);
_ObjectSetProperty( g2antt , "ColumnsFloatBarVisible", 2);
_ObjectCallMethod( g2antt , "EndUpdate");

2080
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(26) = `Show`");
_ObjectSetProperty( g2antt , "ColumnsFloatBarVisible", -1);
_ObjectSetProperty( g2antt , "ColumnsFloatBarSortOrder", 1);
_ObjectCallMethod( g2antt , "EndUpdate");

2079
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeGroupByColumns

OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectCallMethod( columns , "Add", "Start");
	_ObjectCallMethod( columns , "Add", "End");
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
_ObjectSetProperty( g2antt , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( g2antt , "BackColorSortBar", 16448250);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(26) = `Group-By`");
_ObjectSetProperty( g2antt , "ColumnsFloatBarVisible", 1);
_ObjectSetProperty( g2antt , "ColumnsFloatBarSortOrder", 1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(`City`).SortOrder = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

2078
How can I advance to the next line, once the user presses the ENTER key

// KeyDown event - Occurs when the user presses a key while an object has the focus.
FUNCTION g2anttEvents_KeyDown(OBJECT g2antt, INT KeyCode, INT Shift)
	Message( "KeyCode Before:" );
	Message( KeyCode );
	KeyCode = _ObjectCallMethod( g2antt , "FormatABC", "value = 13 ? 40 : value",KeyCode);
	Message( "KeyCode After:" );
	Message( KeyCode );
END

OBJECT columns,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
columns = _ObjectGetProperty( g2antt , "Columns");
	editor = _ObjectGetProperty( _ObjectCallMethod( columns , "Add", "A") , "Editor");
		_ObjectSetProperty( editor , "Appearance", 4);
		_ObjectSetProperty( editor , "EditType", 1);
	editor = _ObjectGetProperty( _ObjectCallMethod( columns , "Add", "B") , "Editor");
		_ObjectSetProperty( editor , "Appearance", 4);
		_ObjectSetProperty( editor , "EditType", 1);
items = _ObjectGetProperty( g2antt , "Items");
	h0 = _ObjectCallMethod( items , "AddItem", "Item A.1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h0")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h0)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Item B.1`");
	h0 = _ObjectCallMethod( items , "AddItem", "Item A.2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,1) = `Item B.2`");
_ObjectCallMethod( g2antt , "EndUpdate");

2077
I am using AddNew to add new records, but I can not see them into the control

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"));
END

// ButtonClick event - Occurs when user clicks on the cell's button.
FUNCTION g2anttEvents_ButtonClick(OBJECT g2antt, INT Item, INT ColIndex, VARIANT Key)
	OBJECT recordset;
	recordset = _ObjectGetProperty( g2antt , "DataSource");
		_ObjectCallMethod( recordset , "AddNew", );
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim recObj")
		_ObjectCallMethod(g2antt, "TemplatePut", recordset)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "recObj.Fields.Item(`Name`).Value = `Task New`");
		_ObjectCallMethod( recordset , "Update", );
END

OBJECT chart,fields,g2antt,items,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
rs = CreateObject("ADODB.Recordset");
	fields = _ObjectGetProperty( rs , "Fields");
		_ObjectCallMethod( fields , "Append", "Name",8);
		_ObjectCallMethod( fields , "Append", "Start",7);
		_ObjectCallMethod( fields , "Append", "End",7);
	_ObjectCallMethod( rs , "Open", );
	_ObjectCallMethod( rs , "AddNew", );
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim rsObj")
	_ObjectCallMethod(g2antt, "TemplatePut", rs)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "rsObj.Fields.Item(`Name`).Value = `Task A`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "rsObj.Fields.Item(`Start`).Value = #1/4/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "rsObj.Fields.Item(`End`).Value = #1/10/2001#");
	_ObjectCallMethod( rs , "Update", );
	_ObjectCallMethod( rs , "AddNew", );
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "rsObj.Fields.Item(`Name`).Value = `Task B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "rsObj.Fields.Item(`Start`).Value = #1/5/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "rsObj.Fields.Item(`End`).Value = #1/11/2001#");
	_ObjectCallMethod( rs , "Update", );
_ObjectSetProperty( g2antt , "DataSource", rs);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(`Start`).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(`End`).Def(18) = 2");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
	h = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItem(0,0)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(h,0) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,0) = `AddNew`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 1");
_ObjectSetProperty( g2antt , "DetectAddNew", -1);
_ObjectSetProperty( g2antt , "DetectDelete", -1);
_ObjectCallMethod( g2antt , "EndUpdate");

2076
How can I create a new ADO recordset

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"));
END

OBJECT chart,fields,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
rs = CreateObject("ADODB.Recordset");
	fields = _ObjectGetProperty( rs , "Fields");
		_ObjectCallMethod( fields , "Append", "Name",8);
		_ObjectCallMethod( fields , "Append", "Start",7);
		_ObjectCallMethod( fields , "Append", "End",7);
	_ObjectCallMethod( rs , "Open", );
	_ObjectCallMethod( rs , "AddNew", );
	_ObjectSetProperty( rs , "Fields", "Task A");
	_ObjectSetProperty( rs , "Fields", "1/4/2001");
	_ObjectSetProperty( rs , "Fields", "1/10/2001");
	_ObjectCallMethod( rs , "Update", );
	_ObjectCallMethod( rs , "AddNew", );
	_ObjectSetProperty( rs , "Fields", "Task B");
	_ObjectSetProperty( rs , "Fields", "1/5/2001");
	_ObjectSetProperty( rs , "Fields", "1/11/2001");
	_ObjectCallMethod( rs , "Update", );
_ObjectSetProperty( g2antt , "DataSource", rs);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(`Start`).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(`End`).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

2075
Do do I get the DAO version I have installed

OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
Message( _ObjectGetProperty( CreateObject("DAO.DBEngine.35") , "Version") );
Message( _ObjectGetProperty( CreateObject("DAO.DBEngine.36") , "Version") );
Message( _ObjectGetProperty( CreateObject("DAO.DBEngine.120") , "Version") );

2074
How do I get a list of interfaces the object implemenets

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,createobject("dao.dbengine.120"),g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
createobject("dao.dbengine.120") = CreateObject("DAO.DBEngine.120");
	rs = _ObjectCallMethod( _ObjectCallMethod( createobject("dao.dbengine.120") , "OpenDatabase", "C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb") , "OpenRecordset", "Orders");
Message( CreateObject("Exontrol.PropertiesList") );
_ObjectSetProperty( g2antt , "DataSource", rs);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/4/1994");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

2073
Do do I get the ADO version I have installed

OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
Message( "ADO Version:" );
Message( _ObjectGetProperty( CreateObject("ADODB.Connection") , "Version") );

2072
DAO, ACCDB, 120

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,createobject("dao.dbengine.120"),g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
createobject("dao.dbengine.120") = CreateObject("DAO.DBEngine.120");
	rs = _ObjectCallMethod( _ObjectCallMethod( createobject("dao.dbengine.120") , "OpenDatabase", "C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb") , "OpenRecordset", "Orders");
_ObjectSetProperty( g2antt , "DataSource", rs);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/4/1994");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

2071
DAO, MDB, 120

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,createobject("dao.dbengine.120"),g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
createobject("dao.dbengine.120") = CreateObject("DAO.DBEngine.120");
	rs = _ObjectCallMethod( _ObjectCallMethod( createobject("dao.dbengine.120") , "OpenDatabase", "C:\Program Files\Exontrol\ExG2antt\sample\Access\misc.mdb") , "OpenRecordset", "Orders");
_ObjectSetProperty( g2antt , "DataSource", rs);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/4/1994");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

2070
DAO, MDB

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,createobject("dao.dbengine.36"),g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
createobject("dao.dbengine.36") = CreateObject("DAO.DBEngine.36");
	rs = _ObjectCallMethod( _ObjectCallMethod( createobject("dao.dbengine.36") , "OpenDatabase", "C:\Program Files\Exontrol\ExG2antt\sample\Access\misc.mdb") , "OpenRecordset", "Orders");
_ObjectSetProperty( g2antt , "DataSource", rs);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/4/1994");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

2069
ADODB, ACCDB, x64

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
rs = CreateObject("ADODB.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",1,1);
_ObjectSetProperty( g2antt , "DataSource", rs);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/4/1994");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

2068
ADOR, ACCDB

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( g2antt , "DataSource", rs);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/4/1994");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

2067
ADODB, MDB

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
rs = CreateObject("ADODB.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( g2antt , "DataSource", rs);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/4/1994");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

2066
ADOR, MDB

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod( items , "AddBar", Item,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
END

OBJECT chart,g2antt,rs;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( g2antt , "DataSource", rs);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "8/4/1994");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Def(18) = 1");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(4).Def(18) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

2065
I am using exCellValueToItemBarProperty, Is it possible to “disable” this synchronisation for one (or several) item (sample-2)

OBJECT chart,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Tasks");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", columns)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Add(`Start`).Def(18) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Add(`End`).Def(18) = 2");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 196");
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectSetProperty( items , "AllowCellValueToItemBar", -1);
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","9/21/2006","9/24/2006");
	h = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","9/22/2006","9/25/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBold(h) = True");
	_ObjectCallMethod( items , "CellValueToItemBar", h,1,1,"newbar");
	_ObjectCallMethod( items , "CellValueToItemBar", h,2,2,"newbar");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 3"),"Task","9/23/2006","9/26/2006");
_ObjectCallMethod( g2antt , "EndUpdate");

2064
I am using exCellValueToItemBarProperty, Is it possible to “disable” this synchronisation for one (or several) item (sample-1)

OBJECT chart,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Tasks");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", columns)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Add(`Start`).Def(18) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Add(`End`).Def(18) = 2");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 196");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectSetProperty( items , "AllowCellValueToItemBar", -1);
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","9/21/2006","9/24/2006");
	h = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","9/22/2006","9/25/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,1) = ````");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,2) = ````");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBold(h) = True");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 3"),"Task","9/23/2006","9/26/2006");
_ObjectCallMethod( g2antt , "EndUpdate");

2063
How can I use the CRD (eXCRD format)

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "SelBackMode", 1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(32) = `[b=0]60;1[b=15]:60,((20;^"<fgcolor=808080>Dateigröße^"[b=1][a=2]:120,2[b=15])/(20;^"<fgcolor=808080>Erstellt am^"[a=2]:120,3[b=15])/(20;^"<fgcolor=808080>Zuletzt bearbeitet^"[b=4][a=2]:120,4[b=15]))`");
	_ObjectSetProperty( column , "AllowSort", 0);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", 1) , "Visible", 0);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", 2);
	_ObjectSetProperty( column , "Visible", 0);
	_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 1);
	_ObjectSetProperty( column , "FormatColumn", "1 index `A-Z`");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", 3);
	_ObjectSetProperty( column , "Visible", 0);
	_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 1);
	_ObjectSetProperty( column , "FormatColumn", "1 index ``");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", 4);
	_ObjectSetProperty( column , "Visible", 0);
	_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 1);
	_ObjectSetProperty( column , "FormatColumn", "date(``)");
dih = 48;
_ObjectSetProperty( g2antt , "DefaultItemHeight", dih);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "GridLineStyle", 48);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", -2);
	_ObjectSetProperty( chart , "GridLineStyle", 48);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).OverlaidType = 515");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `One`");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/12/2001","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2001","1/14/2001","B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemMaxHeight(h) = dih");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Two`");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/10/2001","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","B");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/14/2001","B2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemMaxHeight(h) = dih");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Three`");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/10/2001","A");
_ObjectCallMethod( g2antt , "EndUpdate");

2062
Type of wraps the cell's caption support (Sample 2)

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderSingleLine", 0);
_ObjectSetProperty( g2antt , "HeaderHeight", 36);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Single-Line (exCaptionSingleLine)");
		_ObjectSetProperty( column , "Width", 96);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(16) = -1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(6) = 0");
	column = _ObjectCallMethod( columns , "Add", "Word-Wrap (exCaptionWordWrap)");
		_ObjectSetProperty( column , "Width", 96);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(16) = 0");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(6) = 0");
		_ObjectSetProperty( column , "FormatColumn", "%0");
	column = _ObjectCallMethod( columns , "Add", "Break-Wrap (exCaptionBreakWrap)");
		_ObjectSetProperty( column , "Width", 96);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(16) = 1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(6) = 0");
		_ObjectSetProperty( column , "FormatColumn", "%0");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.");
	_ObjectCallMethod( items , "AddItem", "This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.");
_ObjectCallMethod( g2antt , "EndUpdate");

2061
Type of wraps the cell's caption support (Sample 1)

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderSingleLine", 0);
_ObjectSetProperty( g2antt , "HeaderHeight", 36);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default") , "Width", 128);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	h = _ObjectCallMethod( items , "AddItem", "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h,0) = 1");
	h = _ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 0");
	h = _ObjectCallMethod( items , "AddItem", "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h,0) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 0");
	h = _ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 1");
	h = _ObjectCallMethod( items , "AddItem", "This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h,0) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

2060
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default") , "Width", 128);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(AddItem(`This is the first line.\r\nThis is the second line.\r\nThis is the third line.`),0) = 1");
	_ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
_ObjectCallMethod( g2antt , "EndUpdate");

2059
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
	_ObjectSetProperty( column , "Width", 128);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(16) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	_ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
_ObjectCallMethod( g2antt , "EndUpdate");

2058
The histogram is showing empty space, when expanding an item. What could be wrong

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", 5);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "HistogramVisible", -1);
	_ObjectSetProperty( chart , "HistogramHeight", 48);
	_ObjectSetProperty( chart , "HistogramView", 1392);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).HistogramPattern = 6");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project 1");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 1"),"Task","1/2/2001","1/4/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 2"),"Task","1/3/2001","1/5/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Project 2");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 1"),"Task","1/7/2001","1/10/2001");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "InsertItem", h,"","Item 2"),"Task","1/6/2001","1/8/2001");
_ObjectCallMethod( g2antt , "EndUpdate");

2057
How can I change the visual appearance/color of the Filter For ... field

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "BackColorHeader", 1);
_ObjectSetProperty( g2antt , "ForeColorHeader", 16777215);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(26) = BackColorHeader");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(27) = ForeColorHeader");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(0) = 15790320");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(32) = -1");
_ObjectSetProperty( g2antt , "HeaderAppearance", 5);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "FilterOnType", -1);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( g2antt , "EndUpdate");

2056
How can I display the cell's caption without spaces on both sides

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "((trim(value) replace `   ` with ` `) replace `  ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "    Item B");
	_ObjectCallMethod( items , "AddItem", "        Item   C    ");
_ObjectCallMethod( g2antt , "EndUpdate");

2055
How can I highlight the spaces within the column (sample 2)

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "`'` + ( value replace ` ` with `_` ) + `'`");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "    Item B");
	_ObjectCallMethod( items , "AddItem", "        Item   C    ");
_ObjectCallMethod( g2antt , "EndUpdate");

2054
How can I highlight the spaces within the column (sample 1)

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "    Item B");
	_ObjectCallMethod( items , "AddItem", "        Item   C    ");
_ObjectCallMethod( g2antt , "EndUpdate");

2053
How can I change the visual aspect of the drop down filter-calendar

OBJECT column,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(26) = 65536");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(27) = 16777215");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(12) = 16777215");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(8) = Background(26)");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(11) = 8421504");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date");
	_ObjectSetProperty( column , "FilterType", 4);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
_ObjectCallMethod( g2antt , "EndUpdate");

2052
How can I scroll the chart to ensure that a bar fits the chart's client area

// ButtonClick event - Occurs when user clicks on the cell's button.
FUNCTION g2anttEvents_ButtonClick(OBJECT g2antt, INT Item, INT ColIndex, VARIANT Key)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	kBar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.FirstItemBar(Item)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,Item,kBar")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "TemplatePut", kBar)
	dStart = _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.ItemBar(Item,kBar,1)");
	dEnd = _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.ItemBar(Item,kBar,2)");
	dScroll = _ObjectCallMethod( g2antt , "FormatABC", "(A+B)/2",dStart,dEnd);
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Chart") , "ScrollTo", dScroll,1);
END

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "GridLineStyle", 3);
_ObjectSetProperty( g2antt , "SelBackMode", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "OverviewVisible", 6402);
	_ObjectSetProperty( chart , "OverviewHeight", 26);
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/8/2011");
	_ObjectSetProperty( chart , "AdjustLevelsToBase", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "UnitWidth", 14);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "GridLineStyle", 3);
	_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
	_ObjectSetProperty( chart , "ColumnsFormatLevel", "^"^":2,(^"^"/14;1/^"^"):14");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Default");
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(2) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(4) = 15790320");
		_ObjectSetProperty( column , "Visible", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T1"),"Task","6/9/2011","6/17/2011");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T2"),"Task","1/10/2012","1/17/2012");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T3"),"Task","2/19/2013","2/23/2013");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T4"),"Task","12/19/2014","12/23/2014");
_ObjectCallMethod( g2antt , "EndUpdate");

2051
Is it possible to hide completely the list portion

OBJECT chart,conditionalformat,g2antt,insidezooms,items,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderHeight", 32);
_ObjectSetProperty( g2antt , "OnResizeControl", 129);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "%CS0 = 1");
	_ObjectSetProperty( conditionalformat , "ApplyToBars", "Task");
	_ObjectSetProperty( conditionalformat , "BarColor", 255);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/8/2011");
	_ObjectSetProperty( chart , "AdjustLevelsToBase", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Alignment", 1);
		_ObjectSetProperty( level , "Label", "<b><%d%>-<%mmm%>-<%yyyy%>");
		_ObjectSetProperty( level , "Unit", 4096);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Label", "<%h%>");
		_ObjectSetProperty( level , "Count", 8);
		_ObjectSetProperty( level , "Unit", 65536);
		_ObjectSetProperty( level , "FormatLabel", "date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'Shift <b>2</b><br>38/30' ; 16 : '" +
	"Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; " +
	"16 : 'Shift <b>3</b><br>26/24' ) ) )");
	_ObjectSetProperty( chart , "UnitWidth", 64);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectSetProperty( chart , "ColumnsFormatLevel", "0");
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	_ObjectSetProperty( _ObjectGetProperty( chart , "DefaultInsideZoomFormat") , "InsideUnit", 1048576);
	_ObjectSetProperty( chart , "AllowResizeInsideZoom", 0);
	_ObjectSetProperty( chart , "InsideZoomOnDblClick", 0);
	insidezooms = _ObjectGetProperty( chart , "InsideZooms");
		_ObjectSetProperty( insidezooms , "SplitBaseLevel", 0);
		_ObjectSetProperty( insidezooms , "DefaultWidth", 0);
	insidezooms = _ObjectGetProperty( chart , "InsideZooms");
		_ObjectCallMethod( insidezooms , "Add", "6/9/2011 8:00:00 AM");
		_ObjectCallMethod( insidezooms , "Add", "6/9/2011 4:00:00 PM");
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectSetProperty( chart , "GridLineStyle", 3);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Defaul`).Def(0) = True");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T1"),"Task","6/8/2011 8:00:00 AM","6/10/2011");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T2"),"Task","6/8/2011 4:00:00 PM","6/10/2011 8:00:00 AM");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T3"),"Task","6/9/2011","6/10/2011");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(ItemByIndex(1),0) = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

2050
How can I find out what exBarWorkingCount represents

OBJECT bar,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 42);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Format");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 258");
	_ObjectSetProperty( column , "FormatColumn", "trim((1:=int((0:=value)/365) ? =:1 + ` year(s) ` : ``)  + (1:=int((0:=(=:0 - (=:1*365)))/31) ? =:1 + ` month(s) ` : ``) + (1:=i" +
	"nt((0:=(=:0 - (=:1*31)))/7) ? =:1 + ` week(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*7)))/1) ? =:1 + ` day(s) ` : ``) + (1:=int((0:=(" +
	"=:0 - =:1 + 1/24/60/60/2))*24) ? =:1 + ` hour(s) ` : ``) + (1:=int((0:=(=:0*24 - =:1))*60) ? =:1 + ` min(s) ` : ``) + (1:=int((0" +
	":=(=:0*60 - =:1))*60) ? =:1 + ` sec(s)` : ``))");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Value");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 258");
	_ObjectSetProperty( column , "SortType", 1);
	_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 1);
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "GridLineStyle", 48);
_ObjectSetProperty( g2antt , "SelBackColor", 16771276);
_ObjectSetProperty( g2antt , "SelForeColor", 0);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
	_ObjectSetProperty( chart , "FirstVisibleDate", "4/6/2009");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 65536);
	_ObjectSetProperty( chart , "NonworkingHours", 15728767);
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	_ObjectSetProperty( chart , "ShowNonworkingUnits", 0);
	_ObjectSetProperty( chart , "ShowNonworkingHours", 0);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(20) = True");
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "DrawGridLines", -2);
	_ObjectSetProperty( chart , "GridLineStyle", 48);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).DrawGridLines = True");
	_ObjectSetProperty( chart , "ResizeUnitScale", 1048576);
	_ObjectSetProperty( chart , "ResizeUnitCount", 15);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(1048576) = `<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15`");
	_ObjectSetProperty( chart , "AllowZoomOnFly", 280);
	_ObjectSetProperty( chart , "BackColorZoomOnFly", 65535);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectableItem(h) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SortableItem(h) = False");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T1"),"Task","4/6/2009 10:00:00 AM","4/6/2009 1:00:00 PM");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T2"),"Task","4/6/2009 10:00:00 AM","4/6/2009 4:00:00 PM");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T3"),"Task","4/6/2009 10:00:00 AM","4/6/2009 7:00:00 PM");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SelectableItem(h) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SortableItem(h) = False");
_ObjectCallMethod( g2antt , "EndUpdate");

2049
How can I hide the filter bar description

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Filter");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "B");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "A");
	_ObjectCallMethod( items , "AddItem", "B");
	_ObjectCallMethod( items , "AddItem", "C");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectSetProperty( g2antt , "FilterBarHeight", 0);
_ObjectCallMethod( g2antt , "EndUpdate");

2048
How can I add a break bar

OBJECT bar,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 42);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Working");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 258");
	_ObjectSetProperty( column , "FormatColumn", "((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 " +
	"? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')");
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "GridLineStyle", 48);
_ObjectSetProperty( g2antt , "SelBackColor", 16771276);
_ObjectSetProperty( g2antt , "SelForeColor", 0);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
	_ObjectSetProperty( chart , "FirstVisibleDate", "4/6/2009");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 164");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 65536);
	_ObjectSetProperty( chart , "NonworkingHours", 15728767);
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	_ObjectSetProperty( chart , "ShowNonworkingUnits", 0);
	_ObjectSetProperty( chart , "ShowNonworkingHours", 0);
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task:Split");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(20) = True");
		_ObjectSetProperty( bar , "Shortcut", "Task");
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "DrawGridLines", -2);
	_ObjectSetProperty( chart , "GridLineStyle", 48);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).DrawGridLines = True");
	_ObjectSetProperty( chart , "ResizeUnitScale", 1048576);
	_ObjectSetProperty( chart , "ResizeUnitCount", 15);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(1048576) = `<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15`");
	_ObjectSetProperty( chart , "AllowZoomOnFly", 280);
	_ObjectSetProperty( chart , "BackColorZoomOnFly", 65535);
	_ObjectSetProperty( chart , "AllowNonworkingBars", -1);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	h = _ObjectCallMethod( items , "AddItem", "T1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = `(weekday(value) in (0,6)) or (timeF(value) < `07:00:00`) or (timeF(value) >= `20:00:00`) `");
	_ObjectCallMethod( items , "AddBar", h,"","4/6/2009 7:30:00 AM","4/6/2009 9:30:00 AM","A","<c><font ;4>break<br>bar");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A`,38) = True");
	_ObjectCallMethod( items , "AddBar", h,"Task","4/6/2009 10:00:00 AM","4/6/2009 12:00:00 PM");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T2"),"Task","4/6/2009 10:00:00 AM","4/6/2009 5:45:00 PM");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( g2antt , "EndUpdate");

2047
It seems the ResizeUnitCount have no effect on the ZoomOnFly feature, is it normal

OBJECT bar,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 42);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Working");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 258");
	_ObjectSetProperty( column , "FormatColumn", "((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 " +
	"? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')");
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "GridLineStyle", 48);
_ObjectSetProperty( g2antt , "SelBackColor", 16771276);
_ObjectSetProperty( g2antt , "SelForeColor", 0);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "SelBackColor", _ObjectGetProperty( g2antt , "SelBackColor"));
	_ObjectSetProperty( chart , "FirstVisibleDate", "4/6/2009");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 164");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 65536);
	_ObjectSetProperty( chart , "NonworkingHours", 15728767);
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	_ObjectSetProperty( chart , "ShowNonworkingUnits", 0);
	_ObjectSetProperty( chart , "ShowNonworkingHours", 0);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(20) = True");
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "DrawGridLines", -2);
	_ObjectSetProperty( chart , "GridLineStyle", 48);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).DrawGridLines = True");
	_ObjectSetProperty( chart , "ResizeUnitScale", 1048576);
	_ObjectSetProperty( chart , "ResizeUnitCount", 15);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(1048576) = `<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15`");
	_ObjectSetProperty( chart , "AllowZoomOnFly", 280);
	_ObjectSetProperty( chart , "BackColorZoomOnFly", 65535);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T1"),"Task","4/6/2009 10:00:00 AM","4/6/2009 12:00:00 PM");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "T2"),"Task","4/6/2009 10:00:00 AM","4/6/2009 5:45:00 PM");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( g2antt , "EndUpdate");

2046
Export Data in HTML format

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddGroupItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBold(Item) = True");
		_ObjectCallMethod( items , "AddBar", Item,"Summary",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,2)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,4)"));
		_ObjectCallMethod( items , "DefineSummaryBars", Item,"",-3,"");
END

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		i = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemToIndex(Item)");
		_ObjectCallMethod( items , "AddBar", Item,"Task","1/2/2008","1/9/2008","");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(Item,``,514) = i");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(Item,``,513) = i");
END

OBJECT appearance,bar,chart,column,columns,conditionalformat,createobject("internetexplorer.application"),g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "BackColorAlternate", 15790320);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace " +
	"`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matc" +
	"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
	"nt + ` item(s)`) )))");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 2579);
_ObjectSetProperty( g2antt , "FilterBarPromptType", 2);
_ObjectSetProperty( g2antt , "SingleSort", 0);
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
_ObjectSetProperty( g2antt , "BackColorSortBar", _ObjectGetProperty( g2antt , "BackColor"));
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV" +
	"IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" +
	"NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" +
	"BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +
	"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==");
	_ObjectSetProperty( appearance , "RenderType", -268435456);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 196");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2008");
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectSetProperty( bar , "StartShape", 0);
		_ObjectSetProperty( bar , "EndShape", 0);
		_ObjectSetProperty( bar , "Shape", 1);
		_ObjectSetProperty( bar , "Color", 25198720);
		_ObjectSetProperty( bar , "Height", 7);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=%513%>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=(%2-%1) in (3,5) ? %513 : `` %>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "(%2 - %1) = 3","K3");
	_ObjectSetProperty( conditionalformat , "ForeColor", 255);
	_ObjectSetProperty( conditionalformat , "BarColor", _ObjectGetProperty( conditionalformat , "ForeColor"));
	_ObjectSetProperty( conditionalformat , "ApplyToBars", "Task");
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "(%2 - %1) = 5","K5");
	_ObjectSetProperty( conditionalformat , "ForeColor", 65280);
	_ObjectSetProperty( conditionalformat , "BarColor", _ObjectGetProperty( conditionalformat , "ForeColor"));
	_ObjectSetProperty( conditionalformat , "ApplyToBars", "Task");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", columns)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Add(`Tasks`).Def(0) = True");
	column = _ObjectCallMethod( columns , "Add", "Start");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = ``");
	column = _ObjectCallMethod( columns , "Add", "End");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 2");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = ``");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectSetProperty( items , "AllowCellValueToItemBar", -1);
	_ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddItem", "Task C");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(`Tasks`).SortOrder = 1");
_ObjectCallMethod( g2antt , "EndUpdate");
sFile = "c:/temp/export.html";
_ObjectCallMethod( g2antt , "Export", sFile,"vis");
createobject("internetexplorer.application") = CreateObject("InternetExplorer.Application");
	_ObjectCallMethod( createobject("internetexplorer.application") , "Navigate2", sFile);

2045
Export Data in CSV format

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		i = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemToIndex(Item)");
		_ObjectCallMethod( items , "AddBar", Item,"Task","1/2/2008","1/9/2008","");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(Item,``,514) = i");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(Item,``,513) = i");
END

OBJECT bar,chart,column,columns,conditionalformat,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "BackColorAlternate", 15790320);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace " +
	"`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matc" +
	"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
	"nt + ` item(s)`) )))");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 2579);
_ObjectSetProperty( g2antt , "FilterBarPromptType", 2);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 196");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2008");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=(%2-%1) in (3,5) ? %513 : `` %>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "(%2 - %1) = 3","K3");
	_ObjectSetProperty( conditionalformat , "ForeColor", 255);
	_ObjectSetProperty( conditionalformat , "BarColor", _ObjectGetProperty( conditionalformat , "ForeColor"));
	_ObjectSetProperty( conditionalformat , "ApplyToBars", "Task");
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "(%2 - %1) = 5","K5");
	_ObjectSetProperty( conditionalformat , "ForeColor", 65280);
	_ObjectSetProperty( conditionalformat , "BarColor", _ObjectGetProperty( conditionalformat , "ForeColor"));
	_ObjectSetProperty( conditionalformat , "ApplyToBars", "Task");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", columns)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Add(`Tasks`).Def(0) = True");
	column = _ObjectCallMethod( columns , "Add", "Start");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 1");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = ``");
	column = _ObjectCallMethod( columns , "Add", "End");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 2");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = ``");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectSetProperty( items , "AllowCellValueToItemBar", -1);
	_ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddItem", "Task A");
	_ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddItem", "Task B");
	_ObjectCallMethod( items , "AddItem", "Task C");
_ObjectCallMethod( g2antt , "EndUpdate");
Message( _ObjectCallMethod( g2antt , "Export", "","vis") );

2044
I want to be able to detect when a user clicks on a row in the chart that is not populated

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION g2anttEvents_MouseMove(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim col,hit")
	_ObjectCallMethod(g2antt, "TemplatePut", col)
	_ObjectCallMethod(g2antt, "TemplatePut", hit)
	item = _ObjectCallMethod(g2antt, "ExecuteTemplate", "ItemFromPoint(-1,-1,col,hit)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Chart"))
	date = _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.DateFromPoint(-1,-1)");
	sMessage = _ObjectCallMethod( g2antt , "FormatABC", "(not(A = 0) ? `chart` : `list`) + ` ` + (not(B = 0) ? `item` : `empty`)  ",date,item);
	Message( sMessage );
END

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2018");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","1/2/2018","1/12/2018");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","1/3/2018","1/13/2018");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 3"),"Task","1/4/2018","1/14/2018");
_ObjectCallMethod( g2antt , "EndUpdate");

2043
Is it possible to have multiple calendars. A calendar for each row for example. Reason : some of our lines work 2 shifts but some also have a night shift

OBJECT bars,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Working");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 258");
	_ObjectSetProperty( column , "FormatColumn", "((1:=int(0:=( 24*int(value) + (value - int(value) + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((" +
	"1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "4/6/2009");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 148");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "ShowNonworkingUnits", 0);
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	bars = _ObjectGetProperty( chart , "Bars");
		_ObjectSetProperty( _ObjectCallMethod( bars , "Add", "Task:Split") , "Shortcut", "Task");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bars)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Item(`Task`).Def(20) = True");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(65536) = `<%h%><||><||>65536`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).FormatLabel = ``<font small fonts;6>` + value`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).FormatLabel = `len(value) = 2 ? (`<font small fonts;4>` + (value left 1) + `<br>` + (value right 1) ) : (`<font small fonts;4>` + ` <br>` + (value left 1) + `` )`");
	_ObjectSetProperty( chart , "UnitScale", 65536);
	_ObjectSetProperty( chart , "UnitWidth", 9);
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Items") , "AllowCellValueToItemBar", -1);
items = _ObjectGetProperty( g2antt , "Items");
	sCalendar1 = "weekday(value) in (0,6) or (hour(value) < 6) or (hour(value) > 18)";
	h = _ObjectCallMethod( items , "AddItem", "Shift 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = sCalendar1");
	_ObjectCallMethod( items , "AddBar", h,"Task","4/6/2009","4/7/2009");
	h = _ObjectCallMethod( items , "AddItem", "Shift 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = sCalendar1");
	_ObjectCallMethod( items , "AddBar", h,"Task","4/6/2009","4/8/2009");
	sCalendar2 = "weekday(value) in (0,6) or (hour(value) < 8) or (hour(value) > 14)";
	h = _ObjectCallMethod( items , "AddItem", "Shift 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = sCalendar2");
	_ObjectCallMethod( items , "AddBar", h,"Task","4/6/2009","4/7/2009");
	h = _ObjectCallMethod( items , "AddItem", "Shift 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = sCalendar2");
	_ObjectCallMethod( items , "AddBar", h,"Task","4/6/2009","4/8/2009");
	sCalendar3 = "weekday(value) in (0,6) or 0 = ( hour(value) mod 3 ) ";
	h = _ObjectCallMethod( items , "AddItem", "Shift 3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = sCalendar3");
	_ObjectCallMethod( items , "AddBar", h,"Task","4/6/2009","4/7/2009");
	h = _ObjectCallMethod( items , "AddItem", "Shift 3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = sCalendar3");
	_ObjectCallMethod( items , "AddBar", h,"Task","4/6/2009","4/8/2009");
	sCalendar4 = "weekday(value) in (0,6)";
	h = _ObjectCallMethod( items , "AddItem", "Shift 3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = sCalendar4");
	_ObjectCallMethod( items , "AddBar", h,"Task","4/6/2009","4/7/2009");
	h = _ObjectCallMethod( items , "AddItem", "Shift 3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = sCalendar4");
	_ObjectCallMethod( items , "AddBar", h,"Task","4/6/2009","4/8/2009");
_ObjectCallMethod( g2antt , "EndUpdate");

2042
Is it possible to check multiple-items at once

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	bHasParent = _ObjectCallMethod( g2antt , "FormatABC", "value != 0",_ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.ItemParent(Item)"));
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasCheckBox(Item,0) = bHasParent");
END

OBJECT column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)");
_ObjectSetProperty( g2antt , "HeaderVisible", 1);
_ObjectSetProperty( g2antt , "SingleSel", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(LockedItem(0,0),0) = `<c>Select multiple items and press the <b>SPACE</b> key`");
_ObjectCallMethod( g2antt , "EndUpdate");

2041
How can I prevent changing the start/end colors of the bar, when ItemBar(exBarColor) property is applied

OBJECT bar,bars,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"E:\Exontrol\ExButton\sample\EBN\Assorted\bhframe.ebn");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(False) = 96");
bars = _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Bars");
	_ObjectCallMethod( bars , "AddShapeCorner", 12345,1);
	_ObjectCallMethod( bars , "AddShapeCorner", 999,2);
	_ObjectCallMethod( bars , "AddShapeCorner", 1049,3);
	bar = _ObjectCallMethod( bars , "Add", "T1");
		_ObjectSetProperty( bar , "StartShape", 12345);
		_ObjectSetProperty( bar , "EndShape", 999);
		_ObjectSetProperty( bar , "Pattern", 4);
		_ObjectSetProperty( bar , "StartColor", 65280);
		_ObjectSetProperty( bar , "Color", 16777216);
		_ObjectSetProperty( bar , "EndColor", 255);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=`<font ;6>  ` + %0 + ``%>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
	bar = _ObjectCallMethod( bars , "Add", "T2");
		_ObjectSetProperty( bar , "StartShape", 12345);
		_ObjectSetProperty( bar , "EndShape", 1049);
		_ObjectSetProperty( bar , "Pattern", 4);
		_ObjectSetProperty( bar , "StartColor", -1);
		_ObjectSetProperty( bar , "Color", 16777216);
		_ObjectSetProperty( bar , "EndColor", -1);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=`<font ;6>  ` + %0 + ``%>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "FirstVisibleDate", "1/1/2001");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddBar", h,"T1","1/2/2001","1/4/2001");
	h = _ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddBar", h,"T1","1/2/2001","1/4/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,33) = 65280");
	h = _ObjectCallMethod( items , "AddItem", "Item 3");
	_ObjectCallMethod( items , "AddBar", h,"T1","1/2/2001","1/4/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,33) = 255");
	h = _ObjectCallMethod( items , "AddItem", "Item 4");
	_ObjectCallMethod( items , "AddBar", h,"T2","1/2/2001","1/4/2001");
	h = _ObjectCallMethod( items , "AddItem", "Item 5");
	_ObjectCallMethod( items , "AddBar", h,"T2","1/2/2001","1/4/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,33) = 65280");
	h = _ObjectCallMethod( items , "AddItem", "Item 6");
	_ObjectCallMethod( items , "AddBar", h,"T2","1/2/2001","1/4/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,33) = 255");
_ObjectCallMethod( g2antt , "EndUpdate");

2040
How can I get the icon from the cell when using the Items.CellImages property (icon index)

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION g2anttEvents_MouseMove(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(g2antt, "TemplatePut", c)
	_ObjectCallMethod(g2antt, "TemplatePut", hit)
	i = _ObjectCallMethod(g2antt, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,c,i")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", c)
	_ObjectCallMethod(g2antt, "TemplatePut", i)
	Message( _ObjectCallMethod( g2antt , "FormatABC", "( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` )  : `no image`",hit,_ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.CellImages(i,c)")) );
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 1`),0) = `3,2,1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 2`),0) = `2,3`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 3`),0) = `2,`");
_ObjectCallMethod( g2antt , "EndUpdate");

2039
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION g2anttEvents_MouseMove(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(g2antt, "TemplatePut", c)
	_ObjectCallMethod(g2antt, "TemplatePut", hit)
	i = _ObjectCallMethod(g2antt, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	Message( _ObjectCallMethod( g2antt , "FormatABC", "( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit) );
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 1`),0) = `3,2,1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 2`),0) = `2,3`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 3`),0) = `2`");
_ObjectCallMethod( g2antt , "EndUpdate");

2038
I have an EBN bar. Now if I apply an additional color to the bar, e,g, yellow, the bar is displayed as "dark yellow", which I assume is due to the black EBN color. How can I get the more "bright yellow" color

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddGroupItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLine(Item) = 0");
		_ObjectCallMethod( items , "AddBar", Item,"Summary","12/2/2017","12/2/2017");
		_ObjectCallMethod( items , "DefineSummaryBars", Item,"",-3,"");
		l = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.GroupItem(Item)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item,l")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "TemplatePut", l)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(Item,l) = False");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellBold(Item,l) = True");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(Item) = 12500670");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.ItemBackColor(Item) = 12500670");
END

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/10/2017");
END

OBJECT appearance,bar,chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV" +
	"IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" +
	"NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" +
	"BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +
	"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==");
	_ObjectSetProperty( appearance , "RenderType", -268435456);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 342");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectSetProperty( bar , "StartShape", 0);
		_ObjectSetProperty( bar , "EndShape", 0);
		_ObjectSetProperty( bar , "Shape", 1);
		_ObjectSetProperty( bar , "Color", 33488896);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=%513%>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "C1");
	_ObjectCallMethod( columns , "Add", "C2");
	_ObjectCallMethod( columns , "Add", "C3");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "FormatColumn", "1 pos ``");
		_ObjectSetProperty( column , "AllowGroupBy", 0);
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 48);
		_ObjectSetProperty( column , "AllowSizing", 0);
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
_ObjectSetProperty( g2antt , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
_ObjectSetProperty( g2antt , "HasLines", 0);
_ObjectSetProperty( g2antt , "LinesAtRoot", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "SortOrder", 1);
_ObjectCallMethod( g2antt , "EndUpdate");

2037
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

OBJECT appearance,columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "HeaderAppearance", 4);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectCallMethod( columns , "Add", "Column 2");
	_ObjectCallMethod( columns , "Add", "Column 3");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzV" +
	"IUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4" +
	"aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DB" +
	"eEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" +
	"BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAok" +
	"GKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=");
	_ObjectCallMethod( appearance , "Add", 2,"CP:1 0 -36 0 0");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(182) = 33554432");
_ObjectCallMethod( g2antt , "EndUpdate");

2036
Overlaid-Types

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		barName = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemData(Item)");
		_ObjectCallMethod( items , "AddBar", Item,barName,"1/2/2001","1/4/2001","A1");
		_ObjectCallMethod( items , "AddBar", Item,barName,"1/3/2001","1/5/2001","A2");
		_ObjectCallMethod( items , "AddBar", Item,barName,"1/4/2001","1/7/2001","A3");
		_ObjectCallMethod( items , "AddBar", Item,barName,"1/5/2001","1/8/2001","A4");
END

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 22);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectSetProperty( g2antt , "BackColorAlternate", 15790320);
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "ShowNonworkingDates", 0);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 164");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/28/2000");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","Intersect") , "Color", 255);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).OverlaidType = 0");
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","Task-Transparent");
		_ObjectSetProperty( bar , "OverlaidType", 0);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(19) = 50");
		_ObjectSetProperty( bar , "Pattern", 32);
		_ObjectSetProperty( bar , "Color", 0);
		_ObjectSetProperty( bar , "StartColor", 16732240);
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "StartColor"));
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","Task-Offset") , "OverlaidType", 1);
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","Task-OffsetTransparent");
		_ObjectSetProperty( bar , "OverlaidType", 257);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Overlaid(256) = 75");
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","Task-Intersect");
		_ObjectSetProperty( bar , "OverlaidType", 2);
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Overlaid(2) = `Intersect`");
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","Task-Stack") , "OverlaidType", 3);
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","Task-StackAutoArrange");
		_ObjectSetProperty( bar , "OverlaidType", 515);
		_ObjectSetProperty( bar , "Color", 255);
		_ObjectSetProperty( bar , "OverlaidGroup", "Task");
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","Task-Cascade");
		_ObjectSetProperty( bar , "OverlaidType", 4);
		_ObjectSetProperty( bar , "Color", 255);
		_ObjectSetProperty( bar , "OverlaidGroup", "Task");
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","Task-Strict");
		_ObjectSetProperty( bar , "OverlaidType", 8195);
		_ObjectSetProperty( bar , "OverlaidGroup", "Task");
		_ObjectSetProperty( bar , "Color", 255);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "InsertItem", 0,"Task","Overlaid-None");
	_ObjectCallMethod( items , "InsertItem", 0,"Task-Transparent","Overlaid-Semi-Transparent");
	_ObjectCallMethod( items , "InsertItem", 0,"Task-Offset","Overlaid-Offset");
	_ObjectCallMethod( items , "InsertItem", 0,"Task-OffsetTransparent","Overlaid-OffsetTransparent");
	_ObjectCallMethod( items , "InsertItem", 0,"Task-Intersect","Overlaid-Intersect");
	_ObjectCallMethod( items , "InsertItem", 0,"Task-Stack","Overlaid-Stack");
	h = _ObjectCallMethod( items , "InsertItem", 0,"Task-StackAutoArrange","Overlaid-StackAutoArrange");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/7/2001","1/9/2001","T1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/5/2001","T2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2001","1/7/2001","T3");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/8/2001","T4");
	h = _ObjectCallMethod( items , "InsertItem", 0,"Task-Cascade","Overlaid-Cascade");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/7/2001","1/9/2001","T1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/5/2001","T2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2001","1/7/2001","T3");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2001","1/8/2001","T4");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`<A*>`,52) = `A`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`<T*>`,52) = `T`");
	h = _ObjectCallMethod( items , "InsertItem", 0,"Task","Overlaid-StackStrict");
	_ObjectCallMethod( items , "AddBar", h,"Task-Strict","1/7/2001","1/9/2001","T1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,3) = `<%=%9%>`");
_ObjectCallMethod( g2antt , "EndUpdate");

2035
FilterBarCaption ALLUI Keyword ( sample 3, result, leaf )

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddGroupItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(Item) = 15790320");
		val = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(Item,GroupItem(Item))");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item,val")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "TemplatePut", val)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(Item,GroupItem(Item)) = Me.FormatABC(`A = `Checked` ? 1 : 0`,val)");
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLine(Item) = 0");
		_ObjectCallMethod( items , "AddBar", Item,"Summary","12/2/2017","12/2/2017");
		_ObjectCallMethod( items , "DefineSummaryBars", Item,"",-3,"");
		l = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.GroupItem(Item)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item,l")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "TemplatePut", l)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(Item,l) = False");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellBold(Item,l) = True");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.ItemBackColor(Item) = 15790320");
END

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	i = _ObjectCallMethod( g2antt , "FormatABC", "value + 1",_ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT bar,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV" +
	"IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" +
	"NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" +
	"BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +
	"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectSetProperty( bar , "StartShape", 0);
		_ObjectSetProperty( bar , "EndShape", 0);
		_ObjectSetProperty( bar , "Shape", 1);
		_ObjectSetProperty( bar , "Color", 16777216);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=%513%>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 rpos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Sub-Item B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace " +
	"`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matc" +
	"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + leafitemcount + ` result(s)` ) : (`<r><fgcolor=808080>`+ leafitemcount + `" +
	" item(s)`) )))");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 3);
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2)");
	_ObjectSetProperty( column , "FormatColumn", "%CS2 ? `Checked` : `Unchecked`");
	_ObjectSetProperty( column , "SortOrder", 1);
_ObjectCallMethod( g2antt , "EndUpdate");

2034
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

OBJECT column,conditionalformat,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ColumnAutoResize", -1);
_ObjectSetProperty( g2antt , "DefaultItemHeight", 20);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1m" +
	"Y1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2h" +
	"hWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY" +
	"6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQR" +
	"JSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd" +
	"0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Position");
	_ObjectSetProperty( column , "FormatColumn", "1 rindex ``");
	_ObjectSetProperty( column , "Visible", 0);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "%C1 mod 2");
	_ObjectSetProperty( conditionalformat , "BackColor", 16777216);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");
	_ObjectCallMethod( items , "AddItem", "Item 4");
_ObjectCallMethod( g2antt , "EndUpdate");

2033
How can I specify alternate background colors for each root item, similar with BackColorAlternate

OBJECT column,conditionalformat,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Position");
	_ObjectSetProperty( column , "FormatColumn", "( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )");
	_ObjectSetProperty( column , "Visible", 0);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( g2antt , "ConditionalFormats") , "Add", "%C1 mod 2");
	_ObjectSetProperty( conditionalformat , "BackColor", 15790320);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	h = _ObjectCallMethod( items , "AddItem", "Root 3");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( g2antt , "EndUpdate");

2032
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( g2antt , "VisualDesign", "gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGc" +
	"TSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCi" +
	"CQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4" +
	"bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6" +
	"N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhg" +
	"hWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkM" +
	"hAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggl" +
	"oFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyT" +
	"KMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBh" +
	"FkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDE" +
	"gEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xx" +
	"SCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNU" +
	"BoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ=");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( g2antt , "EndUpdate");

2031
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)

OBJECT appearance,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 3,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
	"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
	"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
	"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=");
	_ObjectCallMethod( appearance , "Add", 1,"CP:3 -2 -2 2 2");
	_ObjectCallMethod( appearance , "Add", 4,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
	"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
	"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
	"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=");
	_ObjectCallMethod( appearance , "Add", 2,"CP:4 -2 -2 2 2");
_ObjectSetProperty( g2antt , "LinesAtRoot", 1);
_ObjectSetProperty( g2antt , "HasButtons", 4);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "HasButtonsCustom(0) = 16777216");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "HasButtonsCustom(1) = 33554432");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( g2antt , "EndUpdate");

2030
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)

OBJECT appearance,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"XP:TREEVIEW 2 1");
	_ObjectCallMethod( appearance , "Add", 2,"XP:TREEVIEW 2 2");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(180) = 16777216");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(181) = 33554432");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( g2antt , "EndUpdate");

2029
How can I find if the control is running in DPI mode
OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
Message( _ObjectCallMethod( g2antt , "FormatABC", "dpi = 1 ? `normal/stretch mode` : `dpi mode`") );

2028
How can I change the visual appearance of the +/- buttons (method 1)

OBJECT appearance,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
	"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
	"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
	"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
	"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
	"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
	"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(180) = 16777216");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(181) = 33554432");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Column");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( g2antt , "EndUpdate");

2027
How can I add a summary bar once the user group by a column

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddGroupItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLine(Item) = 0");
		_ObjectCallMethod( items , "AddBar", Item,"Summary","12/2/2017","12/2/2017");
		_ObjectCallMethod( items , "DefineSummaryBars", Item,"",-3,"");
		l = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.GroupItem(Item)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item,l")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "TemplatePut", l)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(Item,l) = False");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellBold(Item,l) = True");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(Item) = 12500670");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.ItemBackColor(Item) = 12500670");
END

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/10/2017");
END

OBJECT bar,chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV" +
	"IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" +
	"NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" +
	"BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +
	"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 342");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Summary`)");
		_ObjectSetProperty( bar , "StartShape", 0);
		_ObjectSetProperty( bar , "EndShape", 0);
		_ObjectSetProperty( bar , "Shape", 1);
		_ObjectSetProperty( bar , "Color", 16777216);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=%513%>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "C1");
	_ObjectCallMethod( columns , "Add", "C2");
	_ObjectCallMethod( columns , "Add", "C3");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "FormatColumn", "1 pos ``");
		_ObjectSetProperty( column , "AllowGroupBy", 0);
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 48);
		_ObjectSetProperty( column , "AllowSizing", 0);
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
_ObjectSetProperty( g2antt , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
_ObjectSetProperty( g2antt , "HasLines", 0);
_ObjectSetProperty( g2antt , "LinesAtRoot", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "SortOrder", 1);
_ObjectCallMethod( g2antt , "EndUpdate");

2026
Is it possible to display no +/- button for grouped items

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddGroupItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLine(Item) = 0");
		_ObjectCallMethod( items , "AddBar", Item,"Progress","12/2/2017","12/2/2017");
		_ObjectCallMethod( items , "DefineSummaryBars", Item,"",-3,"");
		l = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.GroupItem(Item)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item,l")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "TemplatePut", l)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(Item,l) = False");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellBold(Item,l) = True");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(Item) = 12500670");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.ItemBackColor(Item) = 12500670");
END

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/10/2017");
END

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 342");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "C1");
	_ObjectCallMethod( columns , "Add", "C2");
	_ObjectCallMethod( columns , "Add", "C3");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "FormatColumn", "1 pos ``");
		_ObjectSetProperty( column , "AllowGroupBy", 0);
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 48);
		_ObjectSetProperty( column , "AllowSizing", 0);
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
_ObjectSetProperty( g2antt , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
_ObjectSetProperty( g2antt , "HasLines", 0);
_ObjectSetProperty( g2antt , "LinesAtRoot", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "SortOrder", 1);
	_ObjectSetProperty( column , "Alignment", 1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(4) = 15790320");
_ObjectCallMethod( g2antt , "EndUpdate");

2025
How can I change the label, caption or the formula of the grouped items

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddGroupItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod( items , "AddBar", Item,"Progress","12/2/2017","12/2/2017");
		_ObjectCallMethod( items , "DefineSummaryBars", Item,"",-3,"");
END

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/10/2017");
END

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 342");
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "C1");
		_ObjectSetProperty( column , "GroupByTotalField", "");
		_ObjectSetProperty( column , "GroupByFormatCell", "upper(value)");
	_ObjectCallMethod( columns , "Add", "C2");
	_ObjectCallMethod( columns , "Add", "C3");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "FormatColumn", "1 pos ``");
		_ObjectSetProperty( column , "AllowGroupBy", 0);
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 48);
		_ObjectSetProperty( column , "AllowSizing", 0);
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
_ObjectSetProperty( g2antt , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0).SortOrder = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

2024
How can I change the aspect of grouped items

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddGroupItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLine(Item) = 0");
		_ObjectCallMethod( items , "AddBar", Item,"Progress","12/2/2017","12/2/2017");
		_ObjectCallMethod( items , "DefineSummaryBars", Item,"",-3,"");
		l = _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.GroupItem(Item)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item,l")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "TemplatePut", l)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellSingleLine(Item,l) = False");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellBold(Item,l) = True");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(Item) = 12500670");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.ItemBackColor(Item) = 12500670");
END

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/10/2017");
END

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 342");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "C1");
	_ObjectCallMethod( columns , "Add", "C2");
	_ObjectCallMethod( columns , "Add", "C3");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "FormatColumn", "1 pos ``");
		_ObjectSetProperty( column , "AllowGroupBy", 0);
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 48);
		_ObjectSetProperty( column , "AllowSizing", 0);
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
_ObjectSetProperty( g2antt , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0).SortOrder = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

2023
How can I collapse all items when the user performs a grouping

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddGroupItem(OBJECT g2antt, INT Item)
	OBJECT items;
	items = _ObjectGetProperty( g2antt , "Items");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(g2antt, "TemplatePut", items)
		_ObjectCallMethod(g2antt, "TemplatePut", Item)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(Item) = False");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLine(Item) = 0");
		_ObjectCallMethod( items , "AddBar", Item,"Progress","12/2/2017","12/2/2017");
		_ObjectCallMethod( items , "DefineSummaryBars", Item,"",-3,"");
END

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/10/2017");
END

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 342");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "C1");
	_ObjectCallMethod( columns , "Add", "C2");
	_ObjectCallMethod( columns , "Add", "C3");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "FormatColumn", "1 pos ``");
		_ObjectSetProperty( column , "AllowGroupBy", 0);
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 48);
		_ObjectSetProperty( column , "AllowSizing", 0);
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
_ObjectSetProperty( g2antt , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0).SortOrder = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

2022
Is it possible to select columns that user can drop to the sort bar, when using the Group By feature

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/10/2017");
END

OBJECT chart,column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 342");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "C1");
	_ObjectCallMethod( columns , "Add", "C2");
	_ObjectCallMethod( columns , "Add", "C3");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "FormatColumn", "1 pos ``");
		_ObjectSetProperty( column , "AllowGroupBy", 0);
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 48);
		_ObjectSetProperty( column , "AllowSizing", 0);
_ObjectSetProperty( g2antt , "SortBarVisible", -1);
_ObjectSetProperty( g2antt , "SortBarCaption", "<fgcolor=FF0000>Try to drag the Pos column here.");
_ObjectSetProperty( g2antt , "AllowGroupBy", -1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem A.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem A.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `SubItem B.1`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `SubItem B.2`");
_ObjectCallMethod( g2antt , "EndUpdate");

2021
How can I filter for the type of the bars I have in my chart

OBJECT bar,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "11/28/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=%0%>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","GTask");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=%0%>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectSetProperty( bar , "Color", 65280);
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Task","RTask");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(3) = `<%=%0%>`");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Def(4) = 18");
		_ObjectSetProperty( bar , "Color", 255);
	_ObjectSetProperty( chart , "ColumnsFormatLevel", "0");
_ObjectSetProperty( g2antt , "OnResizeControl", 129);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Type");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(g2antt, "TemplatePut", column)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(19) = ``");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(18) = 0");
	_ObjectSetProperty( column , "Visible", 0);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectSetProperty( items , "AllowCellValueToItemBar", -1);
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 1"),"Task","12/4/2017","12/12/2017");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 2"),"GTask","12/4/2017","12/12/2017");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 3"),"RTask","12/4/2017","12/12/2017");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 4"),"Task","12/4/2017","12/12/2017");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 5"),"GTask","12/4/2017","12/12/2017");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Item 6"),"RTask","12/4/2017","12/12/2017");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[" +
	"<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchi" +
	"temcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount" +
	" + ` item(s)`) )))");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 2579);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(1)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "GTask|RTask");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2020
How can I display the control's filter bar in the Items section only, as it was displayed before

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item A`),1) = `Sub-Item A`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item B`),1) = `Sub-Item B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 4096);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(1)");
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "*B");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2019
FilterBarCaption ALL Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	i = _ObjectCallMethod( g2antt , "FormatABC", "value + 1",_ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(17) = 1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Sub-Item B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[" +
	"<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchi" +
	"temcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount" +
	" + ` item(s)`) )))");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2018
FilterBarCaption ALL Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	i = _ObjectCallMethod( g2antt , "FormatABC", "value + 1",_ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(17) = 1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Sub-Item B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "all");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2017
FilterBarCaption ALLUI Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	i = _ObjectCallMethod( g2antt , "FormatABC", "value + 1",_ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(17) = 1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Sub-Item B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace " +
	"`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matc" +
	"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
	"nt + ` item(s)`) )))");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2016
FilterBarCaption ALLUI Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	i = _ObjectCallMethod( g2antt , "FormatABC", "value + 1",_ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(17) = 1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Sub-Item B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "allui");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2015
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	i = _ObjectCallMethod( g2antt , "FormatABC", "value + 1",_ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(17) = 1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Sub-Item B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( ava" +
	"ilable replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `" +
	"` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount" +
	" + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2014
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Items"))
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	i = _ObjectCallMethod( g2antt , "FormatABC", "value + 1",_ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim Item")
	_ObjectCallMethod(g2antt, "TemplatePut", Item)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(17) = 1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Sub-Item B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "value + ` ` + available");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2013
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item A`),1) = `Sub-Item A`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item B`),1) = `Sub-Item B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080>` + value + `</fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) +" +
	" ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replac" +
	"e `]` with ` </b></bgcolor></fgcolor>`");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 256);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(1)");
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "*B");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2012
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item A`),1) = `Sub-Item A`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item B`),1) = `Sub-Item B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080>` + value + `</fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 256);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(1)");
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "*B");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2011
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item A`),1) = `Sub-Item A`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item B`),1) = `Sub-Item B`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080>` + value + `</fgcolor>``,Description(11))");
_ObjectSetProperty( g2antt , "FilterBarCaption", "value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 256);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(1)");
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "*B");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2010
Is it possible to automatically displays the control's filter label to the right

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Item");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( g2antt , "FilterBarCaption", "`<r>` + value");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 1280);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item B");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2009
How can I get the number of results/items being shown in the control's filter bar (sample 4)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Item");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectSetProperty( g2antt , "FilterBarPrompt", _ObjectCallMethod( g2antt , "FormatABC", "`<b>` + value",_ObjectGetProperty( g2antt , "FilterBarPrompt")));
_ObjectSetProperty( g2antt , "FilterBarCaption", "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount " +
	"+ 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 3591);
_ObjectCallMethod( g2antt , "EndUpdate");

2008
How can I get the number of results being shown in the control's filter bar (sample 3)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectSetProperty( g2antt , "FilterBarCaption", "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount " +
	"+ 1) + ` result(s)` ) : ``)");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 2055);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2007
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectSetProperty( g2antt , "FilterBarCaption", "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 2071);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2006
How can I get the number of results being shown in the control's filter bar (sample 1)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectSetProperty( g2antt , "FilterBarCaption", "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 7);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2005
FilterBarCaption Predefined Keywords

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

// AfterExpandItem event - Fired after an item is expanded (collapsed).
FUNCTION g2anttEvents_AfterExpandItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( g2antt , "Refresh");
END

OBJECT chart,column,editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(g2antt, "TemplatePut", editor)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(17) = 1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellState(InsertItem(h,,`Sub-Item B1`),1) = 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Sub-Item B2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( g2antt , "FilterInclude", 1);
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectSetProperty( g2antt , "FilterBarCaption", "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</" +
	"i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>" +
	": ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF>" +
	"<i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</" +
	"i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=8" +
	"08080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount +" +
	" `</fgcolor>`");
_ObjectSetProperty( g2antt , "FilterBarPromptPattern", "B");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 7);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2004
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( g2antt , "FilterBarFont", _ObjectGetProperty( g2antt , "Font"));
_ObjectSetProperty( g2antt , "FilterBarCaption", "`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value");
_ObjectSetProperty( g2antt , "FilterBarPromptPattern", "B");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 2067);
column = _ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( g2antt , "ApplyFilter");
_ObjectCallMethod( g2antt , "EndUpdate");

2003
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 1281);
_ObjectSetProperty( g2antt , "FilterBarPrompt", _ObjectCallMethod( g2antt , "FormatABC", "`<r>` + value",_ObjectGetProperty( g2antt , "FilterBarPrompt")));
_ObjectCallMethod( g2antt , "EndUpdate");

2002
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
_ObjectSetProperty( g2antt , "RightToLeft", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 257);
_ObjectCallMethod( g2antt , "EndUpdate");

2001
How can I change the visual appearance of the filter bar's close button (EBN)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION g2anttEvents_AddItem(OBJECT g2antt, INT Item)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "AddBar", Item,"Task","12/4/2017","12/14/2017");
END

OBJECT appearance,chart,column,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/2/2017");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 256");
appearance = _ObjectGetProperty( g2antt , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJ" +
	"jyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKm" +
	"SZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OR" +
	"OicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2" +
	"DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJX" +
	"AiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaK" +
	"JDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G" +
	"0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEA" +
	"kjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRS" +
	"MRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhA" +
	"QHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( g2antt , "FilterBarPromptVisible", 257);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(1) = 16777216");
_ObjectCallMethod( g2antt , "EndUpdate");